package codearea;
/*
    构造代码块的执行流程:
        每调用一次构造方法,构造代码块执行一次
        每一次构造代码块是优先于构造方法执行

    构造代码块的作用 : 为对象的创建做准备
        举例 : 对象比作皇帝 构造代码块比作比皇帝先出来的宫女,太监们...
 */
public class Demo {
    public static void main(String[] args) {
        //创建 对象
        Dog dog = new Dog();
        Dog dog1 = new Dog();
        Dog dog3 = new Dog(100);
    }
}


class Dog{
    {
        //构造代码块
        System.out.println("构造代码块执行了~");
    }

    //构造方法
    public Dog(){
        System.out.println("无参构造执行了~");
    }

    public Dog(int num){
        System.out.println(num + "参构造执行了~");
    }
}
